#!/usr/bin/env node
console.log('cli working!');

// 脚手架的工作过程：
// 1. 通过命令行询问用户问题
// 2. 根据用户回答的结果生成文件

const path = require('path')
const fs = require('fs')
// 安装inquirer模块 yarn add inquirer
const inquirer = require('inquirer')

// 安装ejs模块 yarn add ejs
const ejs = require('ejs')

inquirer.prompt([
  {
    type: 'input',
    name: 'name',
    message: 'project name?',
  }
]).then(answers => {
  // 根据用户回答结果生成文件

  // 模板目录
  const tmplDir = path.join(__dirname, 'templates')
  // 目标目录
  const destDir = process.cwd()
  // 将模板下的文件全部转换到目标目录
  fs.readdir(tmplDir, (err, files) => {
    if (err) throw err
    files.forEach(file => {
      // 通过模板引擎渲染
      ejs.renderFile(path.join(tmplDir, file), answers, (er, result) => {
        if (er) throw er
        //将渲染结果写入目标目录
        fs.writeFileSync(path.join(destDir, file), result)
      })
    })
  })
})